package com.xunyji.demo02weixinauthorization.comm.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author AltEnter
 * @create 2019-01-13 14:52
 * @desc 对象转换工具类
 **/
@Component
@Slf4j
public class TransformUtils {
    /**
     * Object 转化成 JSON字符串
     * @param t
     * @param <T>
     * @return
     */
    public <T> String  object2JSONString (T t) {
        String result = JSON.toJSONString(t);
        return result;
    }

    /**
     * Object 转化成 JSON对象
     * @param t
     * @param <T>
     * @return
     */
    public <T> JSONObject object2JSONObject (T t) {
        JSONObject result = (JSONObject) JSON.toJSON(t);
        return result;
    }

    /**
     * String 转化成 指定对象
     * @param str
     * @param t
     * @param <T>
     * @return
     */
    public <T> T String2Object(String str, Class<T> t) {
        T result = JSON.parseObject(str, t);
        return result;
    }

}

